﻿// 注意：每次调用 $.ajax() $.post()  $.get() 的时候
// 会先调用 ajaxPrefilter() 这个函数
// 在这个函数中 可以拿到我们给ajax提供的配置对象
$.ajaxPrefilter(function (options) {
    // 在发起真正的 ajax 请求之前 同意拼接请求的根路径
    options.url = 'http://127.0.0.1:5000' + options.url;

    // 统一为有权限的接口设置 headers 请求头
    // 以 api 开头的接口不需要设置请求头
    // 以 my 开头的接口需要设置请求头
    if (options.url.indexOf('/my') != -1) {
        options.headers = { Authorization: localStorage.getItem('token') || '' };
        // options.headers = { Authorization: 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTEsInVzZXJuYW1lIjoiYWRtaW4iLCJwYXNzd29yZCI6IiIsIm5pY2tuYW1lIjoiTGVlIiwiZW1haWwiOiI2OTQ2NDYyMzZAcXEuY29tIiwidXNlcl9waWMiOiIiLCJpYXQiOjE2MjQxNTc5NTgsImV4cCI6MTYyNzc1Nzk1OH0.i9A77J0ziujMWk7iRbRwgZZl7z6yAhedoxCk5pi1y8I' };
    }

    // 全局统一挂载 complete 回调函数 
    options.complete = function (res) {
        // 在 complete() 函数中 可以使用 res.responseJSON 拿到服务器响应回来的数据
        if (res.responseJSON.status == 1 && res.responseJSON.message == '身份认证失败！') {
            // 1.强制清空 token
            localStorage.removeItem('token');
            // 2.强制跳转到登陆页面
            location.href = '/login.html';
        }
    }
});